Package-level declarations

Types

Link copied to clipboard
data class Route(val routeUid: String, val routeName: String, val isOptimized: Boolean = false, val transportMode: RouteTransportMode? = null, val routeColor: String? = null, val departureDateTime: String? = null, val isRecurring: Boolean = false, val recurrencePattern: RouteRecurrencePattern? = null, val totalDistance: Int = 0, val totalTime: Int = 0, val totalJobs: Int = 0, val routeStatus: RouteStatus = RouteStatus.PLANNED, val createdByUid: String? = null, val createdBy: User? = null, val startLocation: RouteLocation? = null, val endLocation: RouteLocation? = null, val polylineCoordinates: List<RoutePolylinePoint> = emptyList(), val routeConfig: RouteConfiguration? = null, val optimizationSettings: RouteOptimizationSettings? = null, val assignments: List<RouteAssignment> = emptyList(), val statusHistory: List<RouteStatusHistory> = emptyList(), val routeJobs: List<RouteJob> = emptyList(), val optimizations: List<RouteOptimization> = emptyList(), val attachments: List<String> = emptyList(), val createdAt: String, val updatedAt: String? = null, val syncedAt: String? = null, val cacheExpiresAt: String? = null, val isFromArchive: Boolean = false)

Domain model representing a Route in the Zuper system.

Link copied to clipboard
data class RouteAlternative(val sequence: List<String>, val totalDistance: Int, val totalTime: Int, val description: String?)

Domain model representing route alternative.

Link copied to clipboard
data class RouteAssignment(val routeUid: String, val userUid: String? = null, val user: User? = null, val teamUid: String? = null, val team: Team? = null, val assignmentType: RouteAssignmentType, val routeRole: RouteRole = RouteRole.TECHNICIAN, val isPrimary: Boolean = false, val assignedAt: String, val assignedByUid: String? = null, val assignedBy: User? = null, val acceptanceStatus: RouteAssignmentStatus = RouteAssignmentStatus.PENDING)

Domain model representing route assignment.

Link copied to clipboard

Enum representing route assignment statuses.

Link copied to clipboard

Enum representing route assignment types.

Link copied to clipboard
sealed class RouteChangeEvent

Event types for route change notifications.

Link copied to clipboard
data class RouteConfiguration(val allowStopReordering: Boolean = true, val requireGpsTracking: Boolean = false, val autoOptimize: Boolean = false, val notificationSettings: RouteNotificationSettings? = null, val customProperties: Map<String, String> = emptyMap())

Domain model representing route configuration.

Link copied to clipboard
data class RouteEfficiencyMetrics(val routeUid: String, val totalDistance: Int, val totalTime: Int, val plannedJobs: Int, val actualJobs: Int, val completedStops: Int, val skippedStops: Int, val averageServiceTime: Int)

Domain model representing route efficiency metrics.

Link copied to clipboard
sealed class RouteError : Exception

Sealed class representing different types of route-related errors.

Link copied to clipboard
data class RouteJob(val routeUid: String, val jobUid: String, val jobDetail: ZyncJobDetail? = null, val sequenceNumber: Int, val estimatedArrivalTime: String? = null, val estimatedDepartureTime: String? = null, val estimatedServiceDuration: Int? = null, val actualArrivalTime: String? = null, val actualDepartureTime: String? = null, val actualServiceDuration: Int? = null, val stopStatus: RouteStopStatus = RouteStopStatus.PENDING, val skipReason: String? = null, val completionNotes: String? = null, val distanceFromPrevious: Int = 0, val timeFromPrevious: Int = 0, val arrivalLatitude: Double? = null, val arrivalLongitude: Double? = null, val departureLatitude: Double? = null, val departureLongitude: Double? = null, val stopNotes: String? = null, val stopConfig: RouteStopConfiguration? = null, val createdAt: String, val updatedAt: String? = null)

Domain model representing a route job/stop.

Link copied to clipboard
data class RouteLocation(val label: String? = null, val address: String? = null, val latitude: Double, val longitude: Double, val city: String? = null, val state: String? = null, val country: String? = null, val zipCode: String? = null)

Domain model representing route location.

Link copied to clipboard
data class RouteNotificationSettings(val sendStartNotification: Boolean = true, val sendCompletionNotification: Boolean = true, val sendDelayNotification: Boolean = true, val delayThresholdMinutes: Int = 15, val recipientUids: List<String> = emptyList())

Domain model representing route notification settings.

Link copied to clipboard
data class RouteOptimization(val routeUid: String, val optimizationType: RouteOptimizationType = RouteOptimizationType.TIME, val optimizationStatus: RouteOptimizationStatus = RouteOptimizationStatus.REQUESTED, val originalDistance: Int? = null, val originalTime: Int? = null, val optimizedDistance: Int? = null, val optimizedTime: Int? = null, val optimizationSettings: RouteOptimizationSettings? = null, val optimizationResult: RouteOptimizationResult? = null, val errorMessage: String? = null, val requestedAt: String, val completedAt: String? = null, val requestedByUid: String? = null, val requestedBy: User? = null)

Domain model representing route optimization.

Link copied to clipboard
data class RouteOptimizationResult(val optimizedSequence: List<String> = emptyList(), val totalDistanceSaved: Int = 0, val totalTimeSaved: Int = 0, val optimizationScore: Double = 0.0, val alternativeRoutes: List<RouteAlternative> = emptyList())

Domain model representing route optimization result.

Link copied to clipboard
data class RouteOptimizationSettings(val optimizationType: RouteOptimizationType = RouteOptimizationType.TIME, val avoidTolls: Boolean = false, val avoidHighways: Boolean = false, val preferFastestRoute: Boolean = true, val maxDetourDistance: Int? = null, val timeWindows: List<RouteTimeWindow> = emptyList(), val vehicleConstraints: RouteVehicleConstraints? = null)

Domain model representing route optimization settings.

Link copied to clipboard

Enum representing route optimization statuses.

Link copied to clipboard

Enum representing route optimization types.

Link copied to clipboard
data class RoutePolylinePoint(val latitude: Double, val longitude: Double, val elevation: Double? = null, val timestamp: String? = null)

Domain model representing route polyline point.

Link copied to clipboard

Enum representing route recurrence frequencies.

Link copied to clipboard
data class RouteRecurrencePattern(val frequency: RouteRecurrenceFrequency, val interval: Int = 1, val daysOfWeek: List<Int> = emptyList(), val dayOfMonth: Int? = null, val endDate: String? = null, val occurrences: Int? = null)

Domain model representing route recurrence pattern.

Link copied to clipboard
sealed class RouteResult

Result wrapper for route operations.

Link copied to clipboard

Enum representing route roles.

Link copied to clipboard
data class RouteStats(val totalRoutes: Int, val activeRoutes: Int, val completedRoutes: Int, val totalDistance: Int? = null, val totalTime: Int? = null, val averageStopsPerRoute: Double? = null, val completionRate: Double? = null, val averageOptimizationSavings: Double? = null, val statusDistribution: Map<RouteStatus, Int>? = null, val topDrivers: List<String>? = null)

Data class for route statistics and metrics.

Link copied to clipboard

Enum representing different route statuses.

Link copied to clipboard
data class RouteStatusHistory(val routeUid: String, val statusName: String, val statusType: String, val remarks: String? = null, val changedByUid: String? = null, val changedBy: User? = null, val changedAt: String, val latitude: Double? = null, val longitude: Double? = null, val isOffline: Boolean = false, val syncedAt: String? = null)

Domain model representing route status history.

Link copied to clipboard
data class RouteStopConfiguration(val minimumDuration: Int? = null, val maximumDuration: Int? = null, val requireSignature: Boolean = false, val requirePhoto: Boolean = false, val customInstructions: String? = null)

Domain model representing route stop configuration.

Link copied to clipboard

Enum representing different route stop statuses.

Link copied to clipboard
data class RouteTimeWindow(val jobUid: String, val startTime: String, val endTime: String)

Domain model representing route time window.

Link copied to clipboard

Enum representing different transport modes.

Link copied to clipboard
data class RouteVehicleConstraints(val vehicleType: String? = null, val maxCapacity: Double? = null, val maxDistance: Int? = null, val maxDuration: Int? = null)

Domain model representing route vehicle constraints.